perm filename RADIAL.SAI[1,VDS] blob
sn#010362 filedate 1970-07-31 generic text, type T, neo UTF8
00100 BEGIN "RADIAL"
00200 FORTRAN REAL PROCEDURE SIN(REAL X);
00300 FORTRAN REAL PROCEDURE COS(REAL X);
00400 FORTRAN PROCEDURE PLOTS(BOOLEAN FLAG);
00500 FORTRAN PROCEDURE PLOT(INTEGER X,Y;INTEGER PEN);
00600 DEFINE PI="3.1415926535",CRLF="'15&'12",
00700 INREAL(A)="BEGIN OUTSTR(""A""&""="");
00800 BUF←INCHWL;A←REALSCAN(BUF,BREAK) END";
00900
01000 INTEGER I,TICS,ERR,BREAK,BUFSIZ; REAL SN,CS,ANG,RAD,TICSIZ,RESO; STRING BUF;
01100
01200 INREAL(RAD); INREAL(TICSIZ); INREAL(RESO);
01300 TICS←1000*2*PI/(RESO); CS←1; SN←0;
01400 BEGIN "PLOTBLK" INTEGER ARRAY PLTBUF[1:BUFSIZ←(2*TICS+20)];
01500
01600 PROCEDURE PLOT_TICS(REAL RAD,TICSIZ,RESO); COMMENT PLOTS OUT TICS ON PLOTTER;
01700 BEGIN DEFINE AVECT(X,Y)="PLOT(200*X,200*Y,2)",AIVECT(X,Y)="PLOT(200*X,200*Y,3)",
01800 PAUSE="DUM←INCHWL"; BOOLEAN FLAG; LABEL PL; STRING DUM;
01850
01900 EXTERNAL INTEGER JOBFF; INTEGER ARRAY PLTBUF[1:2000];
02000 PL: JOBFF←CODE('201040000000,PLTBUF[1]); PLOTS(FLAG);
02100 IF FLAG THEN BEGIN OUTSTR("PLOTTER OK?..CR TO CONT");PAUSE;GO PL END;
02200 JOBFF←-1;
02300 AIVECT(0,.5);AVECT(0,-.5);AIVECT(-.5,0);AVECT(.5,0);AIVECT(RAD,0);
02400 FOR I←1 STEP 1 UNTIL TICS DO BEGIN ANG←I*RESO/1000;
02500 AVECT("(RAD-TICSIZ)*CS","(RAD-TICSIZ)*SN");
02600 CS←COS(ANG); SN←SIN(ANG); AIVECT(RAD*CS,RAD*SN) END;
02700 END "PLOT_TICS";
02800
02900 OUTSTR(CRLF&"TICS="&CVS(TICS)&" BUFSIZ="&CVS(BUFSIZ)&"WORDS"&CRLF);
03000 PLOT_TICS(RAD,TICSIZ,RESO);
03100 END "PLOTBLK"; END "RADIAL";